package jpa.entitys.promis.common;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the DEPOSIT_RETURN_DETAILS database table.
 * 
 */
@Entity
@Table(name="DEPOSIT_RETURN_DETAILS")
@NamedQueries({
    @NamedQuery(name = "DepositReturnDetail.findAll", query = " SELECT c FROM DepositReturnDetail c "),
    @NamedQuery(name = "DepositReturnDetail.findById", query = " SELECT c FROM DepositReturnDetail c WHERE c.id = :Id "),
    @NamedQuery(name = "DepositReturnDetail.findByStatus", query = " SELECT c FROM DepositReturnDetail c WHERE c.syncIssync = 'N' And c.status = :status"),
})
public class DepositReturnDetail extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private DepositReturnDetailPK id;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(name="ADVANCE_ADJUSTED_AMOUNT", precision=16, scale=2)
	private BigDecimal advanceAdjustedAmount;

	@Column(name="ADVANCE_ADJUSTED_AMOUNT_LOCAL", precision=16, scale=2)
	private BigDecimal advanceAdjustedAmountLocal;

	@Column(name="AMOUNT_ADJUSTED", precision=16, scale=2)
	private BigDecimal amountAdjusted;

	@Column(name="AMOUNT_ADJUSTED_LOCAL", precision=16, scale=2)
	private BigDecimal amountAdjustedLocal;

	@Column(name="AP_EXCH_RATE", precision=12, scale=8)
	private BigDecimal apExchRate;

	@Column(name="AP_REQUEST_NUMBER", precision=2)
	private BigDecimal apRequestNumber;

	@Column(name="CHARGE_CODE", length=2)
	private String chargeCode;

	@Column(name="CREATED_BY")
	private String createdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	@Column(length=3)
	private String currency;

	@Column(name="EXCH_GAIN_LOSS", precision=16, scale=2)
	private BigDecimal exchGainLoss;

	@Column(name="GD_AMOUNT_DEDUCTED", precision=18, scale=2)
	private BigDecimal gdAmountDeducted;

	@Column(name="GD_AMOUNT_DEDUCTED_LC", precision=18, scale=2)
	private BigDecimal gdAmountDeductedLc;

	@Column(name="GLPD_SEQ_NO", precision=3)
	private BigDecimal glpdSeqNo;

	@Column(name="INSTALLMENT_FLAG", length=1)
	private String installmentFlag;

	@Column(name="LAST_UPD_BY")
	private String lastUpdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(name="OTHER_DEDUCT_AMOUNT_INST", precision=16, scale=2)
	private BigDecimal otherDeductAmountInst;

	@Column(name="PV_EXCH_RATE", precision=12, scale=8)
	private BigDecimal pvExchRate;

	@Column(name="SEQ_NO", precision=22)
	private BigDecimal seqNo;

	@Column(name="SRINV_NO", precision=6)
	private BigDecimal srinvNo;

	@Column(name="SRINV_SEQ_NO", precision=4)
	private BigDecimal srinvSeqNo;

	@Column(name="SRINV_SERIES", length=2)
	private String srinvSeries;

	@Column(name="SRINV_TYPE", length=2)
	private String srinvType;

	@Column(nullable=false, length=1)
	private String status;

	@Column(name="SUPPLIER_CODE", nullable=false, length=30)
	private String supplierCode;

	@Column(name="SUPPLIER_REFERENCE", length=30)
	private String supplierReference;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SUPPLIER_REFERENCE_DATE")
	private Date supplierReferenceDate;

	@Column(name="SYNC_CREATEDBY", length=100)
	private String syncCreatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY", length=100)
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO", length=100)
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSTAGING", length=1)
	private String syncIsstaging;

	@Column(name="SYNC_ISSYNC", length=1)
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY", length=100)
	private String syncUpdatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

	@Column(name="TAX_RATE", precision=7)
	private BigDecimal taxRate;

	@Column(name="TAX_TYPE", length=2)
	private String taxType;

	@Column(name="VAT_AMOUNT", precision=18, scale=2)
	private BigDecimal vatAmount;

	@Column(name="VAT_BASE_AMOUNT", precision=18, scale=2)
	private BigDecimal vatBaseAmount;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="VOUCHER_DATE", nullable=false)
	private Date voucherDate;

    public DepositReturnDetail() {
    }

	public DepositReturnDetailPK getId() {
		return this.id;
	}

	public void setId(DepositReturnDetailPK id) {
		this.id = id;
	}
	
	public BigDecimal getAdvanceAdjustedAmount() {
		return this.advanceAdjustedAmount;
	}

	public void setAdvanceAdjustedAmount(BigDecimal advanceAdjustedAmount) {
		this.advanceAdjustedAmount = advanceAdjustedAmount;
	}

	public BigDecimal getAdvanceAdjustedAmountLocal() {
		return this.advanceAdjustedAmountLocal;
	}

	public void setAdvanceAdjustedAmountLocal(BigDecimal advanceAdjustedAmountLocal) {
		this.advanceAdjustedAmountLocal = advanceAdjustedAmountLocal;
	}

	public BigDecimal getAmountAdjusted() {
		return this.amountAdjusted;
	}

	public void setAmountAdjusted(BigDecimal amountAdjusted) {
		this.amountAdjusted = amountAdjusted;
	}

	public BigDecimal getAmountAdjustedLocal() {
		return this.amountAdjustedLocal;
	}

	public void setAmountAdjustedLocal(BigDecimal amountAdjustedLocal) {
		this.amountAdjustedLocal = amountAdjustedLocal;
	}

	public BigDecimal getApExchRate() {
		return this.apExchRate;
	}

	public void setApExchRate(BigDecimal apExchRate) {
		this.apExchRate = apExchRate;
	}

	public BigDecimal getApRequestNumber() {
		return this.apRequestNumber;
	}

	public void setApRequestNumber(BigDecimal apRequestNumber) {
		this.apRequestNumber = apRequestNumber;
	}

	public String getChargeCode() {
		return this.chargeCode;
	}

	public void setChargeCode(String chargeCode) {
		this.chargeCode = chargeCode;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public String getCurrency() {
		return this.currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public BigDecimal getExchGainLoss() {
		return this.exchGainLoss;
	}

	public void setExchGainLoss(BigDecimal exchGainLoss) {
		this.exchGainLoss = exchGainLoss;
	}

	public BigDecimal getGdAmountDeducted() {
		return this.gdAmountDeducted;
	}

	public void setGdAmountDeducted(BigDecimal gdAmountDeducted) {
		this.gdAmountDeducted = gdAmountDeducted;
	}

	public BigDecimal getGdAmountDeductedLc() {
		return this.gdAmountDeductedLc;
	}

	public void setGdAmountDeductedLc(BigDecimal gdAmountDeductedLc) {
		this.gdAmountDeductedLc = gdAmountDeductedLc;
	}

	public BigDecimal getGlpdSeqNo() {
		return this.glpdSeqNo;
	}

	public void setGlpdSeqNo(BigDecimal glpdSeqNo) {
		this.glpdSeqNo = glpdSeqNo;
	}

	public String getInstallmentFlag() {
		return this.installmentFlag;
	}

	public void setInstallmentFlag(String installmentFlag) {
		this.installmentFlag = installmentFlag;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public BigDecimal getOtherDeductAmountInst() {
		return this.otherDeductAmountInst;
	}

	public void setOtherDeductAmountInst(BigDecimal otherDeductAmountInst) {
		this.otherDeductAmountInst = otherDeductAmountInst;
	}

	public BigDecimal getPvExchRate() {
		return this.pvExchRate;
	}

	public void setPvExchRate(BigDecimal pvExchRate) {
		this.pvExchRate = pvExchRate;
	}

	public BigDecimal getSeqNo() {
		return this.seqNo;
	}

	public void setSeqNo(BigDecimal seqNo) {
		this.seqNo = seqNo;
	}

	public BigDecimal getSrinvNo() {
		return this.srinvNo;
	}

	public void setSrinvNo(BigDecimal srinvNo) {
		this.srinvNo = srinvNo;
	}

	public BigDecimal getSrinvSeqNo() {
		return this.srinvSeqNo;
	}

	public void setSrinvSeqNo(BigDecimal srinvSeqNo) {
		this.srinvSeqNo = srinvSeqNo;
	}

	public String getSrinvSeries() {
		return this.srinvSeries;
	}

	public void setSrinvSeries(String srinvSeries) {
		this.srinvSeries = srinvSeries;
	}

	public String getSrinvType() {
		return this.srinvType;
	}

	public void setSrinvType(String srinvType) {
		this.srinvType = srinvType;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getSupplierCode() {
		return this.supplierCode;
	}

	public void setSupplierCode(String supplierCode) {
		this.supplierCode = supplierCode;
	}

	public String getSupplierReference() {
		return this.supplierReference;
	}

	public void setSupplierReference(String supplierReference) {
		this.supplierReference = supplierReference;
	}

	public Date getSupplierReferenceDate() {
		return this.supplierReferenceDate;
	}

	public void setSupplierReferenceDate(Date supplierReferenceDate) {
		this.supplierReferenceDate = supplierReferenceDate;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIsstaging() {
		return this.syncIsstaging;
	}

	public void setSyncIsstaging(String syncIsstaging) {
		this.syncIsstaging = syncIsstaging;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public BigDecimal getTaxRate() {
		return this.taxRate;
	}

	public void setTaxRate(BigDecimal taxRate) {
		this.taxRate = taxRate;
	}

	public String getTaxType() {
		return this.taxType;
	}

	public void setTaxType(String taxType) {
		this.taxType = taxType;
	}

	public BigDecimal getVatAmount() {
		return this.vatAmount;
	}

	public void setVatAmount(BigDecimal vatAmount) {
		this.vatAmount = vatAmount;
	}

	public BigDecimal getVatBaseAmount() {
		return this.vatBaseAmount;
	}

	public void setVatBaseAmount(BigDecimal vatBaseAmount) {
		this.vatBaseAmount = vatBaseAmount;
	}

	public Date getVoucherDate() {
		return this.voucherDate;
	}

	public void setVoucherDate(Date voucherDate) {
		this.voucherDate = voucherDate;
	}

}